package JackSu.面试题._810诺地;

import org.junit.Test;

import java.math.BigDecimal;
import java.math.BigInteger;

public class _01数据赋值 {

    /**|
     * 1.对变量2.3的88.5次方赋值
     * 2.对变量 以2.3为底88.5的对数赋值
     * @param args
     */
    public static void main(String[] args) {

        /**
         * 整型
         * @Note对应从8位计算机一直到64位计算机-1
         * byte的取值范围为-128~127，占用1个字节(-2的7次方到2的7次方-1)
         * short的取值范围为-32768~32767，占用2个字节(-2的15次方到2的15次方-1)
         * int的取值范围为(-2147483648~2147483647)，占用4个字节(-2的31次方到2的31次方-1)
         * long的取值范围为(-9223372036854774808~9223372036854774807)，占用8个字节(-2的63次方到2的63次方-1)
         *
         * 浮点型 可直接阅读源码
         * float 3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方，同样，e-45表示乘以10的负45次方)占用4个字节
         * double 1.797693e+308~ 4.9000000e-324 占用8个字节
         */

        BigDecimal b1 =new BigDecimal(2.3);
        double pow = Math.pow(2.3, 0.5);
        BigDecimal bigDecimal = new BigDecimal(pow);
        System.out.println(b1.pow(88).multiply(bigDecimal));

        double log = log(2.3d, 88.5d);
        System.out.println(log);

        System.out.println(3/6*5);

    }

    static public double log(double value, double base) {
          return Math.log(value) / Math.log(base);
    }
}
